Compiling High Level Constructs to Distributed Memory Architectures
نویسندگان
چکیده
Current languages for nonshared memory architectures provide a relatively low-level programming environment. In this paper we describe a set of language primitives which allow the programmer to express data-parallel algorithms at a higher level, while also permitting control over those aspects of the program critical to performance, such as load balance and data distribution. Given such a program specification, the compiler automatically generates a distributed program containing send and receive constructs to perform interprocess communication. t This research was supported in part by the National Aeronautics and Space Administration under NASA contract NASI-18605, Institute of Defense Analysis under contract IDA 10-00008, and Office of Naval Research under contract ONR N00014-88-M-0108 while the authors were in residence at ICASE, NASA Langley Research Center. Hampton, VA 23665. On leave from Dept. of Computer Science, Purdue University. West Lafayette, IN 47906.
منابع مشابه
Compiling High Performance Fortran for Distributed-memory Systems
ming language for writing parallel programs. It is based on the Fortran 90 language, with extensions that enable the programmer to specify how array operations can be divided among multiple processors for increased performance. In HPF, the program specifies only the pattern in which the data is divided among the processors; the compiler automates the low-level details of synchronization and com...
متن کاملUsing High-Level Performance Prediction in Compiling for Distributed Systems
In cost-driven program optimization performance feedback is either based on a model of the algorithm or on a model of the actually generated machine code. Especially in the case of a distributed-memory system, the di erence in abstraction is large. In this paper we study the trade-o between prediction at high (program) level and low (machine) level in the context of automatic optimization for m...
متن کاملAutomatic Distributed-Memory Parallelization and Code Generation using the Polyhedral Framework
Compiling for distributed-memory parallel architectures is considered very challenging. In spite of the large amount of work done to address this problem, no practical and efficient solution currently exists. We present new techniques for compilation of regular sequential programs for distributed-memory parallel architectures – typically, a cluster of multicores interconnected with a high perfo...
متن کاملAutomatic Vectorization of Communicationsfor
Optimizing communication is a key issue in compiling data-parallel languages for distributed memory architectures. We examine here the case of cyclic distribution, and we derive symbolic expressions for communication sets under the only assumption that the initial parallel loop is deened by aane expressions of the indices. This technique relys on unimodular changes of basis. Analysis of the pro...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1989